過渡到電腦視覺
今天我們從使用基本線性層處理簡單的結構化資料,轉向應對高維度的影像資料。一張彩色影像會帶來顯著的複雜性,標準架構無法有效處理。電腦視覺的深度學習需要專門的方法:卷積神經網絡(CNN)。
1. 為何全連接網路(FCN)會失敗
在全連接網路中,每個輸入像素都必須與後續層中的每一個神經元相連。對於高解析度影像而言,這會導致計算量爆炸式增長,使訓練變得不可行,並因極端過度擬合而導致泛化能力差。
- 輸入維度:一張標準的 $224 \times 224$ RGB 影像會產生 $150,528$ 個輸入特徵($224 \times 224 \times 3$)。
- 隱藏層大小: 若第一個隱藏層使用 1,024 個神經元。
- 總參數數量(第一層): 僅第一個連接區塊就約有 $154$ 百萬個權重($150,528 \times 1024$),需要龐大的記憶體與運算時間。
CNN 的解決方案
CNN 透過利用影像的空間結構來解決 FCN 的擴展問題。它們使用小型濾波器識別模式(如邊緣或曲線),將參數數量減少數個數量級,並提升模型的穩健性。
終端機bash — model-env
> 已準備就緒。點擊「執行」以開始。
>
參數效率檢測器即時
執行比較以視覺化參數數量。
問題 1
使用局部感受野於 CNN 中的主要好處是什麼?
問題 2
若將 $3 \times 3$ 濾波器應用於整個影像,所使用的核心 CNN 概念是什麼?
問題 3
哪個 CNN 模組負責逐步降低特徵圖的空間尺寸(寬度和高度)?
挑戰:辨識關鍵的 CNN 模組
將 CNN 的機制與其功能優勢關聯起來。
我們需要建立一個參數極其高效且即使物件在影像中稍微移位也能辨識的視覺模型。
第一步
哪種機制能確保網路無論特徵(例如對角線)出現在畫面的哪個位置,都能加以辨識?
解答:
共享權重。 透過在所有位置使用相同的濾波器,網路學會了平移不變性。
共享權重。 透過在所有位置使用相同的濾波器,網路學會了平移不變性。
第二步
哪一種架構選擇讓 CNN 能以比 FCN 更少的參數偵測特徵?
解答:
局部感受野(或稀疏連接)。 不需與每個像素相連,每個神經元只與輸入的小範圍局部區域相連。
局部感受野(或稀疏連接)。 不需與每個像素相連,每個神經元只與輸入的小範圍局部區域相連。
第三步
CNN 的結構如何促成層次化的特徵學習(例如:邊緣 → 角落 → 物件)?
解答:
堆疊層。 輸入層學習簡單特徵(邊緣),使用卷積。更深的層則結合較早層的輸出,形成複雜且抽象的特徵(物件)。
堆疊層。 輸入層學習簡單特徵(邊緣),使用卷積。更深的層則結合較早層的輸出,形成複雜且抽象的特徵(物件)。